package com.uinnova.product.eam.service;

import com.uinnova.product.eam.feign.workable.entity.TaskRequest;
import com.uinnova.product.eam.feign.workable.entity.TaskResponse;
import com.uinnova.product.eam.model.es.ChangeAssigneeRecord;

import java.util.List;

/**
 * 任务转办记录
 */
public interface ChangeAssigneeRecordService {

    /**
     * 维护任务转办记录
     * @param request
     * @param taskResponse
     * @return
     */
    Long addRecord(TaskRequest request, TaskResponse taskResponse);


    /**
     * 维护任务转办记录
     *
     * @param userId
     * @param taskResponse
     * @return
     */
    Long addRecordByUserId(String userId, TaskResponse taskResponse, String remarks);


    /**
     * 删除转办记录
     * @param id
     */
    void deleteById(Long id);

    /**
     * 通过流程实例id查找转办记录
     * @param processInstanceId
     * @return
     */
    List<ChangeAssigneeRecord> queryByProcessInstanceId(String processInstanceId);
}
